package BaseDatos;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import Objetos.Ruta;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 * @author ARMGARCES
 */
public class Utils {
    public static Ruta ruta=new Ruta();
    /**Obtiene fecha y hora en un formato año-mes-dia horas:minutos:segundos.
     * No recibe parametros y cuando es llamado crea una variable estatica tipo cadena
       con la fecha y hora con formato año-mes-dia horas:minutos:segundos.
     * @return Cadena estatica con la fecha y hora con formato año-mes-dia horas:minutos:segundos.
     */
    public static String getTime(){
        Date dt = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentTime = sdf.format(dt);
        return currentTime;
    }
    /**
     * Obtiene fecha en un formato año-mes-dia.
     * No recibe parametros y cuando es llamado crea una variable estatica tipo cadena
       con la fecha con formato año-mes-dia.
     * @return Cadena estatica con la fecha con formato año-mes-dia.
     */
    public static String getDate(){
        Date dt = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String fecha = sdf.format(dt);
        return fecha;
    }
    /**
     * Obtiene fecha en un formato año-mes-dia a partir de un formato año-mes-dia horas:minutos:segundos.
     * Recibe una variable tipo cadena con fecha y hora con formato 
       año-mes-dia horas:minutos:segundos
     * Crea una variable estatica tipo cadena con la fecha con formato año-mes-dia.
     * @param date 
     * @return Cadena estatica con la fecha y hora con formato año-mes-dia.
     */
    public static String getDay(String date){
        String fecha = date.substring(0,10);
        return fecha;
    }
    /**
     * Obtiene la ruta segun la fecha actual.
     * No recibe parametros y devuelve un objeto tipo Ruta con sus parametros seteados para la fecha actual.
     * @return objeto tipo Ruta con sus parametros seteados para la fecha actual.
     */
    public static Ruta getRuta(){
    
    String fecha=getDate();
        try {
           Connection con=BaseDatos.getConexionDiga();
           String buscar="SELECT * FROM Ruta WHERE fecha = '"+fecha+"'";
           PreparedStatement ps = con.prepareStatement(buscar);
           ResultSet rs=ps.executeQuery();
           if (rs.next()){
                ruta.setIdRuta(rs.getInt("idRuta"));
                ruta.setRutaDia(rs.getInt("rutaDia"));
                ruta.setFecha(rs.getString("fecha"));
                ruta.setIdSucursal(rs.getInt("fk_idSucursal"));
                con.close();
           }
           else
                System.out.println("Ruta no Valida");
        } 
        catch (Exception e) {
            System.out.println("error: "+e);
        }
    return ruta;
    };
    /**
     * 
     * @return 
     */
    public static int getRutaDelDia(){
    int res = 0;
    try {
        Connection con=BaseDatos.getConexionDiga();
        String buscar="SELECT rutadeldia FROM Diga.Admin, (SELECT MAX(idAdmin) as max FROM Diga.Admin) r WHERE idAdmin = r.max";
        PreparedStatement ps = con.prepareStatement(buscar);
        ResultSet rs=ps.executeQuery();
        if (rs.next()){
            res = rs.getInt("rutadeldia");
            con.close();
            return res;
        }else{
            return -1;
        }
    }catch (Exception e) {
        System.out.println("error: "+e);
        return -1;
    }
    };
}
